\documentclass[11pt, a4paper]{report}
\usepackage{lmodern}
\pagestyle{headings}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel} 
\usepackage[babel=true]{csquotes} 
\usepackage{eurosym} %pour écrire les €
\usepackage{graphicx} %pour l'insertion d'image
\usepackage{wrapfig} %pour l'insertion d'image
\usepackage{color}
\usepackage{colortbl}
\title{Projet de simulateur de feu d'artifice\\ - \\Cahier des charges}
\author{\textsc{Guillaume COLLOMBET} - \textsc{Ulysse MENSA} - \textsc{Sylvain CHAMBE}}
\date{\today} % Pour mettre la date du jour, tapez \today 
\begin{document}
\maketitle
\renewcommand{\contentsname}{Sommaire}
\tableofcontents
\chapter{Présentation}
\section{Projet}
\subsection{Initiative du projet}
\label{intro}
Ce projet a lieu dans le cadre de la deuxième année de licence informatique à
l'université Claude Bernard de Lyon. Il est demandé aux étudiants suivant le
cour de LIF-7 intitulé \emph{conception et réalisation d'un projet
informatique} de développer un logiciel informatique.\\

Les étudiants de la promotion composent des groupes de deux à trois personnes
pour travailler sur un projet.
Le choix des fonctionnalités du logiciel est libre, cependant, les enseignants
qui encadrent les projets conseillent de créer un jeu simple ou bien une
simulation.\\
En effet puisque le thème est libre, il n'est dès lors pas évident de trouver
une idée de logiciel utile et qui puisse trouver un intérêt lors d'une
présentation à un Jury. Car il faut le concevoir dans des limites de temps, de
personne et de moyen stricts. \\
C'est un projet d'étude il n'a donc pas de but lucratif et pas de ressources non
plus. \\
De plus la durée de mise en \oe uvre du projet de la conception au développement
s'étale sur une courte période de trois mois.\\

L'aspect d'un logiciel ludique du type jeux vidéo ou simulation répond donc
assez bien 
a ces contraintes puisqu'il peuvent être relativement simple a concevoir, avec
des objectif triviaux en terme de fonctionnalités tout en ayant un but simple
mais convaincant lors d'une présentation : \emph{amuser}, \emph{divertir} ou
encore \emph{étonner}.

\subsection{Membres du projet}
L'équipe travaillant à la conception de ce logiciel est composée de trois
étudiants également rédacteur du présent document :
\begin{itemize}
\item \ Guillaume \textsc{Collombet}, \textsc{Bts Iris} \emph{(Informatique et
Réseaux pour l'industrie et les Services techniques)} et une expérience
professionnel de deux ans en tant que développeur.
\item \ Ulysse \textsc{Mensa}, \textsc{Iut} informatique, Auto entrepreneur dans
la création de site web.
\item \ Sylvain \textsc{Chambe}, \textsc{Bts} informatique de gestion.
\end{itemize}

\section{Thème}
\subsection{Choix du thème}
Parmi les matières enseignées en deuxième année de licence informatique, nous
avons tous choisi l'UE optionnelle \textsc{Lifo41} \emph{informatique
graphique}. Cette matière traite des technologies employées pour créer des
logiciels affichant des rendues 3D.\\
En outre comme expliqué dans la section \ref{intro} le choix d'un jeu-vidéo ou
d'une simulation semble judicieux.
Notre groupe a opté pour une \emph{simulation de feux d'artifices} en trois
dimensions. \\

Ce projet nous permet de mettre en \oe uvre les enseignements de plusieurs
matières, dont celle de notre UE optionnelle commune. De plus il correspond pour
certains de nous a une mise en pratique direct de notre futur formation et
métiers, en particulier celui de développeur de jeux vidéo.
\subsection{Présentation du thème}
L'objectif du logiciel est donc de simuler le déroulement d'un feu d'artifice.
Pour créer une simulation convaincante, il est primordiale de définir clairement
l'objet étudié. \\

Voici donc dans un premier temps une description générale de ce qu'est un feu d'artifice. \\
Cette description sera suivi d'un bref historique de l'origine et du développement de ce type de spectacle audio-visuel et artistique.\\
Enfin une description plus détaillée des techniques mise en \oe uvre pour créer les différents types d'effets visuels composant les feux d'artifices modernes.
\newpage
\subsubsection{Présentation générale : les feux d'artifice}
Définition~:
\begin{quote}
\enquote {Un feu d'artifice est un procédé pyrotechnique utilisant des explosifs déflagrants visant à produire du son, de la lumière et de la fumée. Les feux d'artifice sont souvent utilisés dans des spectacles pyrotechniques (fêtes nationales, jour de l'an, événements, etc.)}~\emph{Wikipédia}.
\end{quote}
\subsubsection{Historique : origine et évolution}
Au départ les feux d'artifice étaient conçus avec la poudre noire, rapportée en Europe au XIIIe siècle par Marco Polo. Elle a été depuis lors parallèlement utilisée pour la guerre et les fêtes. En France, le premier vrai feu est tiré en 1615.\\
Jusqu'au XIXe siècle et l'avènement de la chimie moderne, les feux d'artifice étaient principalement jaunes ou blancs. Depuis ils peuvent \^{e}tres composés de l'ensemble des couleurs de l'arc en ciel. 
\subsubsection{Étude des techniques : les différents effets}
%http://www.blackcatfireworks.ltd.uk/firework-effects/
%http://www.firework-review.org.uk/fireworks-glossary/
%http://japan-fireworks.com/catalog/ewarimono.html
%http://en.wikipedia.org/wiki/Fireworks
\begin{description}
	\item[Le chrysanthème :] produit une explosion dont les particules forment une sphère. Les particules laissent une trainée derrière elles dont la couleur s'estompe progressivement en s'éloignant du centre.
	\item[Le peony :]  produit une explosion dont les particules forment une sphère et ne laissent pas de trainée derrière elles contrairement au \emph{chrysanthème}.
	\item[Le willow ou saule :] produit une explosion où toutes les particules projetées retombent directement vers le sol. %Sa petite s\oe{}ur est \emph{l'araignée} dont la taille est inférieure.
	\item[Le palm :] produit une explosion formant un palmier. Des traits continus partent dans des directions aléatoires. Ils s'élargissent progressivement depuis la base de l'explosion, formant ainsi des trainées rappelant les feuilles du palmier. 
	\item[Le crossette :] produit une explosion à la manière du \emph{willow}. Chaque particule produit également une explosion semblable après avoir parcourue une courte distance. Cet effet de ``réaction en chaine'' peut \^{e}tre répété ainsi sur plusieurs niveaux.
	\item[La comète :] produit un seul projectile traçant une trainée depuis le sol qui scintille après son passage. Une fois son ascension finit elle s'éteint.
	\item[Le pearls :] est une \emph{comète} sans la trainée.
	   \item[Le brocade :] représente le scintillement des particules. Cet effet ressemble aux flash d'appareils photos.
	\item[Le glitter :] est souvent présent pour les feux d'artifices proches du sol et qui crée une impression de fontaine.
\end{description}

\begin{center}
\begin{tabular}{ccc}
\includegraphics[width=3cm]{images/kiku.png} & \includegraphics[width=3cm]{images/botan.png} & \includegraphics[width=3cm]{images/kamuro.png} \\
\textsc{Chrys} & \textsc{Peony} & \textsc{Willow} \\
\includegraphics[width=3cm]{images/yashi.png} & \includegraphics[width=3cm]{images/crossette.jpg} & \includegraphics[width=3cm]{images/comet.jpg} \\
\textsc{Palm} & \textsc{Crossette} & \textsc{Comète} \\
\includegraphics[width=3cm]{images/pearls.jpg} & \includegraphics[width=3cm]{images/brocade.jpg} & \includegraphics[width=3cm]{images/glitter.jpg} \\
\textsc{Pearls} & \textsc{Brocade} & \textsc{Glitter} \\
\end{tabular}
\end{center}

%http://les-feux-d-artifice.doomby.com/pages/content/securite-trajectoire.html

\section{Besoin et solutions existantes}
\subsection{Etude du besoin}
Le besoin de simuler un feu d'artifice par informatique est devenu primordiale
dans le milieu professionnel de la pyrotechnie. Cela permet d'avoir un rendu
du spectacle avant qu'il est lieu. A l'instar des logiciels de CAO
\emph{(Conception Assistée par Ordinateur)} utilisés par les architectes, qui à
partir d'un plan, calcul un rendu en trois dimensions de
leur réalisation, le tout illuminé et texturé.\\

Car le coût total d'un feu d'artifice peut dépasser allègrement la centaine de
milliers d'euros pour les plus importants d'entre eux. Quand au coût moyen d'un
feu d'artifice du 14 juillet, celui-ci est comprit entre 6500\euro{} et
12000\euro{} pour l'ensemble des communes de France [1].\\
C'est pourquoi le budget d'un feu reste le critère prioritaire de son cahier des charges.\\
\subsection{Solutions existantes}
Quelques logiciels de référence et utilisés par les professionnels existent. On
pourra citer notamment ShowSim3D. Ce sont des progiciels, relativement
onéreux, on comptera ainsi 4000\euro{} pour une licence de ShowSim3D.\\
Ceux-ci contiennent tous les outils nécessaires à la planification complète
d'un feu~: bandeau de contrôle des tirs de fusée dans le temps, bandeau
de composition musicale, outils de création de fusée, génération de rapport,
etc.\\
Ils comportent également un moteur de rendu très fidèle et graphiquement
évolué.\\

Certains jeux vidéos ont reproduit des simulateurs simples de feux, plus axés sur
la qualité de rendu graphique comme \emph{Roller Coaster
Tycoon 3}.\\

Il existe enfin certain logiciels de simulations très bien fait et beaucoup plus
accessibles comme \emph{FWSim}. \\
Si celui-ci est moins évolué en terme de rendu graphique, l'aspect générale des
explosions et des différents effets est quant à lui très fidèle à la réalité.
Le moteur de rendu utilise un \emph{système d'émission de particules} basique
mais \emph{efficace}.\\
\subsection{Choix}
C'est pourquoi nous avons choisi de nous inspirer de ce dernier. A
partir de vidéos tirées du logiciel, nous pouvons fixer nos propres
objectifs de rendu. Nous procéderons par étapes successives, en validant à chaque
étape que le rendu est conforme à l'objectif.
\chapter{Contraintes}
Au niveau des technologies utilisées pour mettre en \oe uvre le logiciel 
des contraintes de langage, de présentation et de structure nous ont été
sou-misent. 
\section{Cadrage du projet}
Le présent cahier des charge devra cadré le projet en détails et devra fournir
un
planning précis des différentes tâches nécessaires au déroulement de sa
conception.\\
Ces tâches devront être réparties équitablement entre les trois concepteurs.
\section{Délais}
Le projet informatique doit être terminer avant la fin du semestre d'automne, sa
durée de conception est donc d'environ trois mois. Quatre heures de travaux
pratiques par semaines sont consacrées à sa conception. Bien sûr les étudiants
peuvent travailler sur le projet durant leur temps libre.\\
Le présent cahier des charge doit \^{e}tre rendu deux semaines après le début des
travaux pratiques.
\section{Analyse et modélisation}
Après avoir clairement définit les fonctionnalités et exigences du programme,
les structures à mettre en place pour créer le logiciel devrons être déterminées
et modélisées avant leur programmation.
Nous utiliserons le langage de modélisation graphique
\textsc{Uml}\,\footnotemark[1].
\section{Langage}
Le langage utilisé sera le langage C. \\
Il est permit d'ajouter des librairies tierces à la libraire standard du C.\\
Dans le cas de notre projet nous utiliserons les libraires tierces additionnelles : \textsc{OpenGL}\,\footnotemark[2] et \textsc{Sdl}\,\footnotemark[3].
\footnotetext[1]{\emph{Unified Modeling Language} ou « langage de modélisation unifié »}
\footnotetext[2]{\emph{Open GraphicLibrary} API multiplate-forme pour la conception d'applications générant des images 3D.} 
\footnotetext[3]{\emph{Simple DirectMedia Layer} est une bibliotèque multiplateformes de gestion multimédia conçue pour fournir un accès bas niveau à l'audio, le clavier, la souris, le joystick, la 3D matériel via OpenGL et la mémoire vidéo 2D.}
\section{Gestion de version}
Un historique de version du code source devra être tenu. Ainsi que différentes
archives correspondent à des versions stables ou bien à des étapes particulières
du développement.
Pour se faire il faudra mettre en place un gestionnaire de versions.
Dans le cadre de notre projet nous utiliserons la solution de contrôle de
version \emph{\textsc{Svn} (Subversion)} hébergée sur les serveurs de
\emph{Google (Google Code)}.
\section{Documentation}
Le code source du logiciel devra être commenté.
Dans le cas du langage C, on utilisera un système permettant de générer une
documentation \textsc{Html} 
à partir de balises spécifiques insérées dans les commentaires du code source.
Le nom de cet outil est \emph{Doxygen}.\\
On pourra également détailler les modifications effectuées à chaque archivage de
fichier par un utilisateur, 
au moyen des commentaires laissés dans le système de gestion de version.
\chapter{Mise en place}
Pour mettre en place ce projet, nous l'avons décomposé en différentes étapes correspondant chacune à un objectif.\\

Pour ce faire, nous avons décrit, à partir des informations recueillies sur les feux d'artifice et
de leur observation, les différents éléments visuels composant l'explosion d'un feu.\\

Ensuite, à partir de ces observations, nous avons étudiés le moyen de les représenter unitairement dans notre logiciel.
Pour cette étape nous nous sommes basés sur l'étude des logiciels de simulation existant et notre connaissance des outils de rendu 3D à notre disposition.\\

Ainsi en croisant nos différents outils de représentation et nos observation, nous avons définit une liste d'objectifs impliquant à chaque fois une nouvelle fonctionalité ou bien un ou plusieurs type\textit{(s)}  de feu\textit{(x)} représentable\textit{(s)}.
\section{Tâches à effectuer}
%C'est à dire par exemple pour une explosions une ensemble de particule (braises) lumineuses qui s'éloigne a une certaine vitesse de la base de l'explosion tout en retombant vers le sol car soumisent à la gravité.
%C'est également un fusée qui démart du sol jusqu'a une certaine hauteur en décrivant une trajectoire courbe.

%Ensuite à partir de ces observations nous avons étudier le moyen de les représenter grâce aux outils de rendu 3D à notre disposition.
%Par exemple une particule est un simple ``sprite'' représentant un rond dont le centre totalement opaque s'estompe progressivement jusqu'à devenir totalement transparent aux extrémité.
%La modélisation de la trainé dérière la particule lumineuse est en faite une suite de plusieurs particules identiques mais auquels on à appliqué progressivement en s'éloigner de la source une transparence de plus en plus élevé.

\begin {description}
\item[Etape 1  : Affichage d'une fenêtre.] Création des prototype de l'ensemble des modules du diagramme ci-dessous. 
Implémentation du module Affichage. 
Affichage fenêtre simple et initialisation du moteur graphique.
\item[Etape 2  : Affichage d'une particule.] Implémentation trivial du module particule. Implémentation du module \emph{Affichage} pour affiche une particule. Modification du module principal pour qu'il initialise une particule.
\item[Etape 3  : Affichage d'un menu interactif.] Implémentation du module menu. Pour permettre le contrôle du logiciel par l'intermédiaire du clavier.
\item[Etape 4  : Déplacement d'une particule.] Implémentation trivial des modules explosion, feu et modification du module particule. 
L'objectif est de déplacer une particule vers le haut. Nous utiliserons la formule de calcul d'une trajectoire, que nous avons adaptée de la 2D sur le plan $xyz$, suivante :
\[y=-\bigg(\frac{1}{2}\bigg)g\bigg(\frac{d^2}{v^2\cos^{2}{\alpha}}\bigg) + \tan{(\alpha)}d,\;d=\frac{x^2 + z^2}{2}\]
\[x=\cos{(\beta)}d,\;z=\sin{(\beta)}d\]
Avec :
\begin{itemize}
\item $y$ = hauteur de la bombe (altitude, en $m$)
\item $x$ = distance parcourue sur l'axe des x (longueur, en $m$)
\item $z$ = distance parcourue sur l'axe des z (profondeur, en $m$)
\item $d$ = distance parcoure par la bombe (en $m$)
\item $g$ = constante de gravitation/constante d'accélération $(g = 9,81\;m/s^2)$
\item $v$ = vitesse de la bombe $(m/s)$
\item $\alpha$ = angle de départ autour de l'axe $\overrightarrow{(O,\beta)}$ sur le plan $xy$
\item $\beta$ = angle de départ autour de y
\end{itemize}
\item[Etape 5  : Représentation d'une trainée.] Modification du module \emph{particule} et \emph{moteur graphique} pour pouvoir représenter une trainée derrière la particule.
\item[Etape 6  : Affichage d'une explosion.] Modification des modules \emph{explosion} et \emph{moteur graphique} pour pouvoir afficher une explosion. 
Une explosion est un ensemble de particules partant depuis le centre de l'explosion vers une direction aléatoire dans le plan 3D.
\item[Etape 7  : Affichage d'une explosion avec couche.] Modification des modules \emph{explosion} et \emph{couche}. Une explosion peut être composée de plusieurs couche. 
Une couche est un ensemble de particules de même couleur étant éjectées du centre de l'explosion à une même vitesse.
Lorsqu'il y en a plusieurs de vitesse différentes l'explosion semble être composé de plusieurs couches, d'où leur nom.
\item[Etape 8 : Affichage d'une explosion avec trainées.] Modification des modules \emph{feu}, \emph{explosion}, \emph{particule}, \emph{moteur graphique}, pour afficher des explosions où chaque particule laisse une trainée.
\item[Etape 9  : Affichage d'une réaction en chaine] Modification des modules \emph{feu}, \emph{explosion}, \emph{particule}, \emph{moteur graphique} et \emph{affichage} pour permettre l'affichage des feux de type \emph{crossette}.
\item[Etape 10 Composition d'un panel de feu]. Composition de différents assemblage de feux en jouant sur les différents paramètres pour obtenir différents types de feux d'artifices.
Assignation du lancement de ces feux au différentes touches du clavier.
\item[Etape 11 : Ajout du son]. Modification du module \emph{principal}, \emph{son} et \emph{moteur graphique} pour jouer d'un son lors d'une explosion.
\end {description}
\section{Planification prévisionelle}
\subsection{Planification prévisionelle par étape}
\definecolor{c1}{rgb}{0.8,1,0.8}
\definecolor{c2}{rgb}{0.9,1,0.7}
\definecolor{c3}{rgb}{1,1,0.8}
\definecolor{c4}{rgb}{1,0.9,0.7}
\definecolor{c5}{rgb}{1,0.8,0.8}
\definecolor{c6}{rgb}{1,0.8,1}
\definecolor{c7}{rgb}{0.9,0.75,1}
\definecolor{c8}{rgb}{0.8,0.8,1}
\definecolor{c9}{rgb}{0.8,1,1}
\definecolor{c10}{rgb}{0.8,0.8,0.8}
\definecolor{c11}{rgb}{0.7,0.7,0.7}

\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}

\hline
Etape & Etudiant &s.1&s.2&s.3&s.4&s.5&s.6&s.7&s.8&s.9&s.10&s.11\\
\hline
\rowcolor{c1} Etape 1 & G.Collombet &\cellcolor{white}& & & & & & & & & &\\
\hline
\rowcolor{c1} Etape 1 & U.Mensa &\cellcolor{white}& & & & & & & & & &\\
\hline
\rowcolor{c1} Etape 1 & S.Chambe &\cellcolor{white}& & & & & & & & & &\\
\hline
\rowcolor{c2} Etape 2 & G.Collombet & &\cellcolor{white}& & & & & & & & &\\
\hline
\rowcolor{c2} Etape 2 & U.Mensa & & & & & & & & & & &\\
\hline
\rowcolor{c2} Etape 2 & S.Chambe & & & & & & & & & & &\\
\hline
\rowcolor{c3} Etape 3 & G.Collombet & & & & & & & & & & &\\
\hline
\rowcolor{c3} Etape 3 & U.Mensa & &\cellcolor{white}& & & & & & & & &\\
\hline
\rowcolor{c3} Etape 3 & S.Chambe & &\cellcolor{white}& & & & & & & & &\\
\hline
\rowcolor{c4} Etape 4 & G.Collombet & & & & & & & & & & &\\
\hline
\rowcolor{c4} Etape 4 & U.Mensa  & & &\cellcolor{white}&\cellcolor{white}& & & & & & &\\
\hline
\rowcolor{c4} Etape 4 & S.Chambe  & & &\cellcolor{white}&\cellcolor{white}& & & & & & &\\
\hline
\rowcolor{c5} Etape 5 & G.Collombet & & &\cellcolor{white}&\cellcolor{white}& & & & & & &\\
\hline
\rowcolor{c5} Etape 5 & U.Mensa & & & & & & & & & & &\\
\hline
\rowcolor{c5} Etape 5 & S.Chambe & & & & & & & & & & &\\
\hline
\rowcolor{c6} Etape 6 & G.Collombet & & & & &\cellcolor{white}&\cellcolor{white} & & & & &\\
\hline
\rowcolor{c6} Etape 6 & U.Mensa & & & & & & & & & & &\\
\hline
\rowcolor{c6} Etape 6 & S.Chambe & & & & & & & & & & &\\
\hline
\rowcolor{c7} Etape 7 & G.Collombet & & & & & & & & & & &\\
\hline
\rowcolor{c7} Etape 7 & U.Mensa & & & & &\cellcolor{white} &\cellcolor{white} & & & & &\\
\hline
\rowcolor{c7} Etape 7 & S.Chambe & & & & &\cellcolor{white} &\cellcolor{white} & & & & &\\
\hline
\rowcolor{c8} Etape 8 & G.Collombet & & & & & & & & & & &\\
\hline
\rowcolor{c8} Etape 8 & U.Mensa & & & & & & & & & & &\\
\hline
\rowcolor{c8} Etape 8 & S.Chambe & & & & & & &\cellcolor{white} &\cellcolor{white} & & &\\
\hline
\rowcolor{c9} Etape 9 & G.Collombet & & & & & & &\cellcolor{white}&\cellcolor{white}&\cellcolor{white}& &\\
\hline
\rowcolor{c9} Etape 9 & U.Mensa & & & & & & &\cellcolor{white}&\cellcolor{white}&\cellcolor{white}& &\\
\hline
\rowcolor{c9} Etape 9 & S.Chambe & & & & & & & & &\cellcolor{white}& &\\
\hline
\rowcolor{c10} Etape 10 & G.Collombet & & & & & & & & & &\cellcolor{white} & \cellcolor{white}\\
\hline
\rowcolor{c10} Etape 10 & U.Mensa & & & & & & & & & &\cellcolor{white}&\cellcolor{white}\\
\hline
\rowcolor{c10} Etape 10 & S.Chambe & & & & & & & & & &\cellcolor{white} &\\
\hline
\rowcolor{c11} Etape 11 & G.Collombet & & & & & & & & & & &\\
\hline
\rowcolor{c11} Etape 11 & U.Mensa & & & & & & & & & & &\\
\hline
\rowcolor{c11} Etape 11 & S.Chambe & & & & & & & & & & &\cellcolor{white}\\
\hline
\end{tabular}

\subsection{Planification prévisionelle par étudiant}

\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}

\hline
Etudiant &s.1&s.2&s.3&s.4&s.5&s.6&s.7&s.8&s.9&s.10&s.11\\
\hline
G.Collombet&\cellcolor{c1}&\cellcolor{c2}&\cellcolor{c5}&\cellcolor{c5}&\cellcolor{c6}&\cellcolor{c6}&\cellcolor{c8}&\cellcolor{c8}&\cellcolor{c9}&\cellcolor{c10}&\cellcolor{c10}\\
\hline
U.Mensa&\cellcolor{c1}&\cellcolor{c3}&\cellcolor{c4}&\cellcolor{c4}&\cellcolor{c7}&\cellcolor{c7}&\cellcolor{c9}&\cellcolor{c9}&\cellcolor{c9}&\cellcolor{c10}&\cellcolor{c10}\\
\hline
S.Chambe&\cellcolor{c1}&\cellcolor{c3}&\cellcolor{c4}&\cellcolor{c4}&\cellcolor{c7}&\cellcolor{c7}&\cellcolor{c9}&\cellcolor{c9}&\cellcolor{c9}&\cellcolor{c10}&\cellcolor{c11}\\
\hline

\end{tabular}

\section{Diagramme des modules}
\subsection{Diagramme}

\begin{center}
\begin{tabular}{ccc}
\includegraphics[width=21cm, height=15cm]{images/depandances.jpg}
\textsc{Dépendances} \\
\end{tabular}
\end{center}

\subsection{Explications}

\begin {description} 
\item[Module Artifice]
\item Structure Artifice \{ \\
Nom : chaîne \\
Vitesse, angle, hauteur-max, hauteur-explo : float \\
tabExplosion : tableau de liens sur Explosion \\
ptrParticule : lien sur Particule \\
\} \\
\item[Module Particule]
\item Structure Particule \{ \\
posX, posY, posZ : float \\
ptrCouleur : lien sur Couleur \\
\} \\
\item[Couleur]
\item Structure Couleur \{ \\
Rouge, Vert, Bleu, Transparence : char \\
\} \\
\item[Explosion]
\item Structure Explosion \{ \\
tabParticule : tableau de liens sur Particule \\
\} \\
\item[Affichage]
Implémentation des fonctions openGL pour l'indépendance du programme\\
\item[Graphique-Core]
\item Artifice tabFeux[] ; \\
+ Procédure initAnimation() \\
+ Fonction addArtificeAnimation(IN-OUT Artifice tabFeux, IN Artifice Artifice) -> Artifice tabFeux \\
+ Procédure pause() \\
+ Procédure quit() \\
+ Procédure play() \\
\item[Interaction]
+ Procédure afficheMenu() \\
+ Procédure gestionClavier() \\
\item[Son]
+ Procédure play(IN char nom[])

\end {description}

\end{document}
